import sys


def file_div(dir,n):
    """
        文件拆分-指定个数
        dir-文件路径，n-拆分后的文件个数
        调用：dir='./data/train.txt'
            n=2
            file_div(dir,n)
    """
    open_diff = open(dir, 'r') # 源文本文件
    diff_line = open_diff.readlines()

    line_list = []
    for line in diff_line:
        line_list.append(line)

    count = len(line_list) # 文件行数
    print('源文件数据行数：',count)
    k=int(count/(n))+1#5000## 每个文件的数据行数
    # 切分diff
    diff_match_split = [line_list[i:i+k] for i in range(0,len(line_list),k)]# 每个文件的数据行数

    # 将切分的写入多个txt中
    for i,j in zip(range(0,int(count/k+1)),range(0,int(count/k+1))): # 写入txt，计算需要写入的文件数
        with open('./data/Data%d.txt'% j,'w+') as temp:
            for line in diff_match_split[i]:
                temp.write(line)
    print('拆分后文件的个数：',i+1)


def del_lastcol(dir,sep='\t',savename='train.txt'):
    """
    删除文件最后一列，并保存为txt文件（想要删除文件指定列，请修改b = a[0:-1]处）
    dir-文件路径如dir='./data/train.txt',sep-分隔符,savename-保存文件名
    """
    f = open(dir, encoding='utf-8')
    line = f.readline()
    list = []
    while line:
        a = line.split(sep)  # 将数据以分隔符的方式分隔开
        b = a[0:-1]  # 这就是选择前四行保存下来（如果想保存第2，3行就写成b = a[1,3]）即可
        list.append(b)
        list.append('\n')
        line = f.readline()
    f.close()

    with open(savename, 'a') as month_file:  # 提取后的数据文件
        for line in list:
            s = sep.join(line)
            month_file.write(s)


dir='./data/train.txt'
n=2
# file_div(dir,n)
del_lastcol(dir)